//模块核心代码
//引入axios
import axios from "axios";
import METHOD from "./methods"
import Loading from '../../components/loading/index';


const BASEURL = "https://api.it120.cc/small4";

let loading = null;

const axiosRequest = axios.create({
    baseURL: BASEURL,
    timeout: 10000
})

// 添加请求拦截器
axiosRequest.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么

    loading = Loading.serve();//启动loading

    return config;
}, function (error) {
    // 对请求错误做些什么

    loading.close();//关闭loading

    return Promise.reject(error);
});

// 添加响应拦截器
axiosRequest.interceptors.response.use(function (response) {
    // 对响应数据做点什么

    loading.close();//关闭loading

    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});


//请求方法
/**
 * 
 * @param {*} method 
 * @param {*} url  
 * @param {*} params 
 */
export function request(method, url, params) {
    switch (method) {
        case METHOD.GET:
            return GET(url, params);
        case METHOD.POST:
            return POST(url, params);
    }
}



//请求方式
function GET(url, params) {
    return axiosRequest.get(url, params)
}

function POST(url, params) {
    return axiosRequest.post(url, params)
}



//上传
// function UPLOAD() {}


//下载
// function DOWNLOAD() {}

